package models

import (
	"encoding/json"
	"gorm.io/gorm"
)

type Task struct {
	TaskId     string          `gorm:"type:varchar(100);column:task_id;comment:任务id" json:"task_id"`
	TaskName   string          `gorm:"type:varchar(100);column:task_name;comment:任务名称" json:"task_name"`
	TaskStatus string          `gorm:"type:varchar(50);column:task_status;comment:任务状态" json:"task_status"`
	TaskKey    string          `gorm:"type:varchar(255);column:task_key;comment:任务key;uniqueIndex" json:"task_key"`
	TaskData   json.RawMessage `gorm:"type:json;column:task_data;comment:任务数据" json:"task_data"`
	NotifyUrl  string          `gorm:"_" json:"notify_url"`
	gorm.Model `gorm:"embedded"`
}

type TaskKey struct {
	TaskName   string `gorm:"type:varchar(100);column:task_name;comment:任务名称" json:"task_name"`
	TaskKey    string `gorm:"type:varchar(255);column:task_key;comment:任务key" json:"task_key"`
	NotifyUrl  string `gorm:"_" json:"notify_url"`
	gorm.Model `gorm:"embedded"`
}

type Area struct {
	CityName   string `gorm:"type:varchar(50);column:city_name;comment:城市名称" json:"city_name"` // 城市名称
	CityCode   string `gorm:"type:varchar(10);column:city_code;comment:城市代码" json:"city_code"` // 城市代码
	IsHot      string `gorm:"type:enum('1','0');column:is_hot;comment:是否热门城市" json:"is_hot"`   // 是否热门城市
	gorm.Model `gorm:"embedded"`
}
